home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 7: Sunsite / Linux Cubed Series 7 - Sunsite Vol 1.iso / system / shells / scsh-0.4 / scsh-0 / scsh-0.4.2 / scsh / ultrix / netconst.scm < prev    next >
Text File  |  1995-10-31  |  5KB  |  122 lines

  1. ;;; Magic Numbers for Networking
  2. ;;; Copyright (c) 1994 by Brian D. Carlstrom.
  3.  
  4. ;;; magic numbers not from header file
  5. ;;; but from man page
  6. ;;; why can't unix make up its mind
  7. (define shutdown/receives 0)
  8. (define shutdown/sends 1)
  9. (define shutdown/sends+receives 2)
  10.  
  11. ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  12. ;;; BELOW THIS POINT ARE BITS FROM:
  13. ;;; <sys/socket.h> 
  14. ;;; <sys/un.h> 
  15. ;;; <netinet/in.h>
  16. ;;; <netinet/tcp.h>
  17. ;;; <netdb.h>
  18. ;;;-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  19.  
  20. ;;; ADDRESS FAMILIES -- <sys/socket.h>
  21. (define address-family/unspecified 0)    ; unspecified
  22. (define address-family/unix 1)        ; local to host (pipes, portals)
  23. (define address-family/internet 2)    ; internetwork: UDP, TCP, etc.
  24.  
  25. ;;; SOCKET TYPES -- <sys/socket.h>
  26. (define socket-type/stream 1)        ; stream socket 
  27. (define socket-type/datagram 2)        ; datagram socket
  28. (define socket-type/raw 3)        ; raw-protocol interface
  29. ;;(define socket-type/rdm 4)        ; reliably-delivered message
  30. ;;(define socket-type/seqpacket 5)      ; sequenced packet stream
  31.  
  32. ;;; PROTOCOL FAMILIES -- <sys/socket.h>
  33. (define protocol-family/unspecified 0)    ; unspecified
  34. (define protocol-family/unix 1)        ; local to host (pipes, portals)
  35. (define protocol-family/internet 2)    ; internetwork: UDP, TCP, etc.
  36.  
  37. ;;; Well know addresses -- <netinet/in.h>
  38. (define internet-address/any #x00000000)
  39. (define internet-address/loopback #x7f000001)
  40. (define internet-address/broadcast #xffffffff)    ; must be masked
  41.  
  42. ;;; errors from host lookup -- <netdb.h>
  43. (define    herror/host-not-found 1) ;Authoritative Answer Host not found
  44. (define    herror/try-again   2) ;Non-Authoritive Host not found, or SERVERFAIL
  45. (define    herror/no-recovery 3) ;Non recoverable errors, FORMERR, REFUSED, NOTIMP
  46. (define    herror/no-data     4) ;Valid name, no data record of requested type
  47. (define    herror/no-address herror/no-data) ;no address, look for MX record
  48.  
  49. ;;; flags for send/recv -- <sys/socket.h>
  50. (define message/out-of-band 1) ; process out-of-band data
  51. (define message/peek        2) ; peek at incoming message
  52. (define message/dont-route  4) ; send without using routing tables
  53.  
  54. ;;; protocol level for socket options -- <sys/socket.h>
  55. (define level/socket #xffff)        ; SOL_SOCKET: options for socket level
  56.  
  57. ;;; socket options -- <sys/socket.h>
  58. (define socket/debug #x0001)        ; turn on debugging info recording 
  59. (define socket/accept-connect #x0002)    ; socket has had listen() 
  60. (define socket/reuse-address #x0004)    ; allow local address reuse 
  61. (define socket/keep-alive #x0008)    ; keep connections alive 
  62. (define socket/dont-route #x0010)    ; just use interface addresses 
  63. (define socket/broadcast #x0020)    ; permit sending of broadcast msgs 
  64. (define socket/use-loop-back #x0040)    ; bypass hardware when possible 
  65. (define socket/linger    #x0080)        ; linger on close if data present 
  66. (define socket/oob-inline #x0100)    ; leave received OOB data in line 
  67. ;(define socket/use-privileged #x4000)    ; allocate from privileged port area 
  68. ;(define socket/cant-signal #x8000)    ; prevent SIGPIPE on SS_CANTSENDMORE 
  69. (define socket/send-buffer #x1001)    ; send buffer size 
  70. (define socket/receive-buffer #x1002)    ; receive buffer size 
  71. (define socket/send-low-water #x1003)    ; send low-water mark 
  72. (define socket/receive-low-water #x1004) ; receive low-water mark 
  73. (define socket/send-timeout #x1005)    ; send timeout 
  74. (define socket/receive-timeout #x1006)    ; receive timeout 
  75. (define socket/error #x1007)        ; get error status and clear 
  76. (define socket/type #x1008)        ; get socket type 
  77.  
  78. ;;; ip options -- <netinet/in.h>
  79. (define    ip/options 1)            ; set/get IP per-packet options
  80. ;(define ip/time-to-live 2)        ; set/get IP time-to-live value
  81.  
  82. ;;; tcp options -- <netinet/tcp.h>
  83. (define tcp/no-delay #x01)        ; don't delay send to coalesce packets
  84. (define tcp/max-segment #x02)        ; set maximum segment size
  85.  
  86. ;;; -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
  87. ;;; OPTION SETS FOR SOCKET-OPTION AND SET-SOCKET-OPTION
  88.  
  89. ;;; Boolean Options
  90. (define options/boolean
  91.   (list socket/debug
  92.     socket/accept-connect
  93.     socket/reuse-address
  94.     socket/keep-alive
  95.     socket/dont-route
  96.     socket/broadcast
  97.     socket/use-loop-back
  98.     socket/oob-inline
  99. ;    socket/use-privileged
  100. ;    socket/cant-signal
  101.     tcp/no-delay))
  102.  
  103. ;;; Integer Options
  104. (define options/value
  105.   (list socket/send-buffer
  106.     socket/receive-buffer
  107.     socket/send-low-water
  108.     socket/receive-low-water
  109.     socket/error
  110.     socket/type
  111. ;    ip/time-to-live
  112.     tcp/max-segment))
  113.  
  114. ;;; #f or Positive Integer
  115. (define options/linger
  116.   (list socket/linger))
  117.  
  118. ;;; Real Number
  119. (define options/timeout
  120.   (list socket/send-timeout
  121.     socket/receive-timeout))
  122.